[IA64] fix INVALID_M2P_ENTRY and INVALID_M2P macro
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Mon, 6 Mar 2006 16:01:43 +0000 (09:01 -0700)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Mon, 6 Mar 2006 16:01:43 +0000 (09:01 -0700)
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xen/arch/ia64/xen/xenmem.c
xen/include/asm-ia64/mm.h

index 5ad65a6491c086323efbffac04a52a8c0a9e665c..80655c25dde4846341956d252e2aeca52a306e10 100644 (file)
@@ -35,6 +35,8 @@ void
 paging_init (void)
 {
        unsigned int mpt_order;
+       unsigned long i;
+
        /* Create machine to physical mapping table
         * NOTE: similar to frame table, later we may need virtually
         * mapped mpt table if large hole exists. Also MAX_ORDER needs
@@ -47,7 +49,9 @@ paging_init (void)
                panic("Not enough memory to bootstrap Xen.\n");
 
        printk("machine to physical table: 0x%lx\n", (u64)mpt_table);
-       memset(mpt_table, INVALID_M2P_ENTRY, mpt_table_size);
+       for (i = 0; i < (1UL << mpt_order); i++) {
+               mpt_table[i] = INVALID_M2P_ENTRY;
+       }
        /* Other mapping setup */
 
        zero_page_memmap_ptr = virt_to_page(ia64_imva(empty_zero_page));
index 38fa7633779aa37ddcf0b1950940cdee6e749b41..03c1737cbc2e61bba54445639c7fb189972132cd 100644 (file)
@@ -414,8 +414,8 @@ extern unsigned long lookup_domain_mpa(struct domain *d, unsigned long mpaddr);
 #undef machine_to_phys_mapping
 #define machine_to_phys_mapping        mpt_table
 
-#define INVALID_M2P_ENTRY        (~0U)
-#define VALID_M2P(_e)            (!((_e) & (1U<<63)))
+#define INVALID_M2P_ENTRY        (~0UL)
+#define VALID_M2P(_e)            (!((_e) & (1UL<<63)))
 #define IS_INVALID_M2P_ENTRY(_e) (!VALID_M2P(_e))
 
 #define set_gpfn_from_mfn(mfn, pfn) (machine_to_phys_mapping[(mfn)] = (pfn))